$(document).ready(function() {
            $('#row').blur(function () {
                validateRow();
            })
            $('#known').prop('disabled', true);
            function validateRow() {
                var row = $('#row').val().trim();
                var numPattern = /^[2-9]+$/;
                if (!numPattern.test(row)) {
                    alert('请输入正确的行数')
                    $('#row').val('')
                }
                else {
                    $('#known').prop('disabled', false);
                }
            }

            $('#known').click(function () {
                $('#box').empty();
                var row = $('#row').val().trim();
                for (var i = 0; i < 2; i++) {
                    $('#box').append(
                        `<h5>第${i + 1}个明密文对（长度为${row*row},无空格）</h5>
                        <div class="encryption-pair">
                            <label style='font-size:14px'>明文<input type="text" class="layui-input str plaintext"  data-pair="${i}" style='margin-bottom:5px'/></label>
                             <label style='font-size:14px'>密文<input type="text" class="layui-input str ciphertext" data-pair="${i}"/></label>
                        </div>`);
                }
                $('#box').append(`<a id="crack" class="layui-btn btn4">破解</a></br>`);
                $(document).on('blur', '.str', function () {
                    validateInput($(this));
                });

                $('#crack').click(function(){
                     var row = parseInt($('#row').val().trim(), 10); // 确保是数字
                     // 循环检查每对明密文
                    var encryptionPairs = [];
                    $('.encryption-pair').each(function(index) {
                        var plaintextInput = $('.plaintext[data-pair="' + index + '"]').val().trim();
                        var ciphertextInput = $('.ciphertext[data-pair="' + index + '"]').val().trim();
                        var pair = {
                            pairIndex: index,
                            plaintext: plaintextInput,
                            ciphertext: ciphertextInput
                        };
                        encryptionPairs.push(pair);
                    });

                    if(encryptionPairs.length===2){
                        $.ajax({
                            url: '/crack/',
                            type: 'post',
                            data: {
                                row: parseInt($('#row').val().trim()),
                                pairs: JSON.stringify(encryptionPairs),
                                csrfmiddlewaretoken: $("input[name='csrfmiddlewaretoken']").val()
                            },
                            success:function(res){
                                if(res.res===2){
                                    alert(res.message)
                                }
                                if(res.res===1){
                                    console.log(res.matrix)
                                    var matrix = JSON.parse(res.matrix);
                                    // 遍历二维数组并取每个数字的整数部分
                                    var integersMatrix = matrix.map(function(row) {
                                        return row.map(function(num) {
                                            return Math.round(num);
                                        });
                                    });
                                    $('#box').append($('<label>加密矩阵</label>')
                                        .append($('<input type="text" class="layui-input matrix" />').val(integersMatrix))
                                        );
                                }
                                if(res.res===3){
                                    alert(res.message)
                                }
                        }
                        })
                    }
                    else encryptionPairs=[]
                    console.log(encryptionPairs)
                })

            function validateInput(inputField) {
                var row = $('#row').val().trim();
                var inputValue = inputField.val().trim();
                var len = inputValue.length
                var englishPattern = /^[a-zA-Z0-9]+$/;
                if( len !== row * row){
                    alert(`请输入长度为${row*row}的明/密文`)
                }
                else{
                    if (!englishPattern.test(inputValue)) {
                    alert('请输入字母与数字的组合字符串！');
                    inputField.val('');
                }
                }
            }

        });


});